<?php
/**
 * Implenta las funciones necesarias para gestionar un presupuesto del sistema
 *
 * @author Daniel Cardoza, Gary Dos Santos, Freddy Rodriguez
 */
class DBPresupuestoDAO {

    private $DBConn = null;

    public function  __construct() {
        $conexion = new conexion();
        $this->DBConn = $conexion->setConnect();
    }

    /**
    * Devuelve una lista con todos los presupuesto
    *
    * @return Presupuesto[]
    * @return <bool> false
    * @test
    */
    public function listaPresupuesto( $clienteId ){
        $clienteId = addslashes($clienteId);
        
        $str = "SELECT *
                    FROM presupuesto
                    WHERE PTO_STATUS = 1
                    AND PTO_CLT_ID = {$clienteId}
                    AND PTO_PRECIO_TOTAL IS NOT NULL
                    AND PTO_STATUS = 1";

        $this->DBConn->consulta( $str );

        if ( $this->DBConn->filasAfectadas() != -1){

            while ( $fila = $this->DBConn->extraer_registro() ) {
                $presupuesto = new Presupuesto($fila['PTO_ID'], $fila['PTO_ESTADO'],
                        $fila['PTO_FECHA_CREACION'], $fila['PTO_FECHA_ENTREGA'],
                        $fila['PTO_FORMA_PAGO'], $fila['PTO_PRECIO_TOTAL']);

                 $listaPresupuesto[] = $presupuesto;
            }

            return $listaPresupuesto;
        } else {
            return false;
        }
    }


     /**
     * Actualiza el precio total de un presupuesto, es decir la suma de todos sus
     * detalles
     *
     * @test
     */
    public function updatePrecios( $clienteId ) {
        $clienteId = addslashes($clienteId);

        $str = "SELECT PTO_ID
                    FROM presupuesto
                    WHERE PTO_STATUS = 1
                    AND PTO_CLT_ID = {$clienteId}";

        $this->DBConn->consulta( $str );
        $i = 0;

        while ( $fila = $this->DBConn->extraer_registro() ) {
            $vecIds[$i] = $fila['PTO_ID'];
            $i++;

        }

        if ( $vecIds != null ){
            foreach ( $vecIds as $value){
                $str = "UPDATE presupuesto
                            SET PTO_PRECIO_TOTAL =
                            (SELECT SUM(DPR_SUB_TOTAL) suma
                            FROM detalle_presupuesto
                            WHERE DPR_PTO_ID = $value
                            AND DPR_STATUS = 1)
                            WHERE PTO_ID = $value
                            AND PTO_STATUS = 1";

                $this->DBConn->consulta( $str );
            }
        }
        
        $str = "UPDATE presupuesto SET PTO_STATUS = 0
                    WHERE PTO_PRECIO_TOTAL IS NULL
                    AND PTO_CLT_ID = {$clienteId}";

        $this->DBConn->consulta( $str );

        if ( $this->DBConn->filasAfectadas() != -1){
            return true;
        } else {
            return false;
        }

  }

    /**
     * Introduce un presupuesto nuevo a la base de datos
     *
     * @return <bool> true
     * @return <bool> false
     * @test
     */
    public function insert( $idCliente ) {
        $idCliente = addslashes($idCliente);

        $PTO_FECHA_CREACION = $_SESSION['USR_FECHA'];

        $str = "INSERT INTO Presupuesto (PTO_FECHA_CREACION,PTO_CLT_ID)
                    VALUES ('{$PTO_FECHA_CREACION}',{$idCliente})";

        $this->DBConn->consulta( $str );

        if ( $this->DBConn->filasAfectadas() != -1){
            return true;
        } else {
            return false;
        }

    }

     /**
     *Devuelve el id del ultimo presupuesto que tiene un cliente
     *
     * @param <int> $id
     * @return Presupuesto
     * @test
     *
     */
    public function selectUltimo( $idCliente ) {
        $idCliente = addslashes($idCliente);

        $str = "SELECT PTO_ID FROM Presupuesto
                    WHERE PTO_CLT_ID = {$idCliente}
                    AND PTO_STATUS = 1
                    ORDER BY PTO_ID DESC";

        $this->DBConn->consulta( $str );

        if ( $this->DBConn->filasAfectadas() != -1){
            $fila = $this->DBConn->extraer_registro();

            $presupuesto = new Presupuesto($fila['PTO_ID'], $fila['PTO_ESTADO'],
                $fila['PTO_FECHA_CREACION'], $fila['PTO_FECHA_ENTREGA'],
                $fila['PTO_FORMA_PAGO'], $fila['PTO_PRECIO_TOTAL']);

            return $presupuesto;
        } else {
            return false;
        }
    }

     /**
     * Devuelve el mes en espanol
     *
     * @param <int> $PTO_ID
     * @return <string> $fila['MES']
     * @return <bool> false
     * @test
     */
    public function selectMes( $idPresupuesto ){
        $idPresupuesto = addslashes($idPresupuesto);

        $str = "SELECT
                    CASE WHEN MONTH(PTO_FECHA_CREACION) = 1 THEN 'enero'
                    WHEN MONTH(PTO_FECHA_CREACION) = 2 THEN 'febrero'
                    WHEN MONTH(PTO_FECHA_CREACION) = 3 THEN 'marzo'
                    WHEN MONTH(PTO_FECHA_CREACION) = 4 THEN 'abril'
                    WHEN MONTH(PTO_FECHA_CREACION) = 5 THEN 'mayo'
                    WHEN MONTH(PTO_FECHA_CREACION) = 6 THEN 'junio'
                    WHEN MONTH(PTO_FECHA_CREACION) = 7 THEN 'julio'
                    WHEN MONTH(PTO_FECHA_CREACION) = 8 THEN 'agosto'
                    WHEN MONTH(PTO_FECHA_CREACION) = 9 THEN 'septiembre'
                    WHEN MONTH(PTO_FECHA_CREACION) = 10 THEN 'octubre'
                    WHEN MONTH(PTO_FECHA_CREACION) = 11 THEN 'noviembre'
                    WHEN MONTH(PTO_FECHA_CREACION) = 12 THEN 'diciembre'
                    ELSE \"-\" END AS MES from PRESUPUESTO
                    WHERE PTO_ID= {$idPresupuesto}";

        $this->DBConn->consulta( $str );

        if ( $this->DBConn->filasAfectadas() != -1){
            $fila = $this->DBConn->extraer_registro();
            return $fila['MES'];
        } else {
            return false;
        }

    }

     /**
     * Devuelve una fila con toda la informacion del presupuesto dado un id
     *
     * @param <int> $PTO_ID
     * @return <string> $fila
     * @return <bool> false
     * @test
     */
    public function select( $idPresupuesto ){
        $idPresupuesto = addslashes($idPresupuesto);
        
        $str = "SELECT *
                    FROM PRESUPUESTO
                    WHERE PTO_ID= {$idPresupuesto}
                    AND PTO_STATUS = 1";

        $this->DBConn->consulta( $str );

       if ( $this->DBConn->filasAfectadas() != -1){
            $fila = $this->DBConn->extraer_registro();

            $presupuesto = new Presupuesto($fila['PTO_ID'], $fila['PTO_ESTADO'],
                $fila['PTO_FECHA_CREACION'], $fila['PTO_FECHA_ENTREGA'],
                $fila['PTO_FORMA_PAGO'], $fila['PTO_PRECIO_TOTAL']);

            return $presupuesto;
        } else {
            return false;
        }

    }

//     /**
//     * Devuelve una fila con toda la informacion del detalle de presupuesto dado un id
//     *
//     * @param <int> $PTO_ID
//     * @return <string> $fila
//     * @return <bool> false
//     * @test
//     */
//    public function selectDetalle( $idPresupuesto, $idDetalle ){
//        $idPresupuesto = addslashes($idPresupuesto);
//        $idDetalle = addslashes($idDetalle);
//
//        $str = "SELECT DPR_ALM_ID, DPR_CRT_ID, DPR_ACC_ID
//                    DPR_PTA_ID, DPR_VTA_ID, DPR_SUB_TOTAL
//                    FROM PRESUPUESTO, DETALLE_PRESUPUESTO
//                    WHERE {$idDetalle} = {$idPresupuesto}
//                    AND DPR_STATUS = 1";
//
//        $this->DBConn->consulta( $str );
//
//       if ( $this->DBConn->filasAfectadas() != -1){
//            $fila = $this->DBConn->extraer_registro();
//
//            return $fila;
//        } else {
//            return false;
//        }
//
//    }
//
//     /**
//     * Devuelve una fila con toda la informacion de un aluminio dado su id
//     *
//     * @param <int> $PTO_ALM_ID
//     * @return <string> $fila
//     * @return <bool> false
//     * @test
//     */
//     public function selectAluminio( $idPresupuestoAluminio, $idAluminio ){
//        $idPresupuestoAluminio = addslashes($idPresupuestoAluminio);
//        $idAluminio = addslashes($idAluminio);
//
//        $str = "SELECT ALM_NOMBRE, ALM_TIPO, ALM_COLOR,
//                     ALM_TIPO_COLOR, ALM_LARGO, ALM_PRECIO
//                     ALM_CANTIDAD, ALM_STATUS
//                     FROM ALUMINIO
//                     WHERE {$idAluminio} = {$idPresupuestoAluminio}
//                     AND ALM_STATUS = 1";
//
//        $this->DBConn->consulta( $str );
//
//       if ( $this->DBConn->filasAfectadas() != -1){
//            $fila = $this->DBConn->extraer_registro();
//            return $fila;
//        } else {
//            return false;
//        }
//    }
//
//     /**
//     * Devuelve una fila con toda la informacion de un cristal dado su id
//     *
//     * @param <int> $PTO_CRT_ID
//     * @return <string> $fila
//     * @return <bool> false
//     * @test
//     */
//     public function consultaCristal( $idPresupuestoCristal, $idCristal ){
//        $idPresupuestoCristal = addslashes($idPresupuestoCristal);
//        $idCristal = addslashes($idCristal);
//
//        $str = "SELECT CRT_NOMBRE, CRT_COLOR,
//                    CRT_ESPESOR, CRT_ANCHO, CRT_ALTO, CRT_PRECIO
//                    CRT_CANTIDAD, CRT_STATUS
//                    FROM CRISTAL
//                    WHERE $idCristal = $idPresupuestoCristal
//                    AND CRT_STATUS = 1";
//
//        $this->DBConn->consulta(  );
//
//       if ( $this->DBConn->filasAfectadas() != -1){
//            $fila = $this->DBConn->extraer_registro();
//            return $fila;
//        } else {
//            return false;
//        }
//    }
//
//     /**
//     * Devuelve una fila con toda la informacion de un puerta dado su id
//     *
//     * @param <int> $PTO_ALM_ID
//     * @return <string> $fila
//     * @return <bool> false
//     * @test
//     */
//    public function consultaPuerta( $PTO_PTA_ID ){
//        extract( $_GET );
//        $this->DBConn->consulta( "SELECT PTA_NOMBRE, PTA_COLOR,
//                                PTA_ESPESOR, PTA_ANCHO, PTA_LARGO,
//                                PTA_PRECIO, PTA_CANTIDAD, PTA_STATUS
//                                FROM PUERTA
//                                WHERE $PTA_ID = $PTO_PTA_ID
//                                AND PTA_STATUS = 1" );
//
//       if ( $this->DBConn->filasAfectadas() != -1){
//            $fila = $this->DBConn->extraer_registro();
//            return $fila;
//        } else {
//            return false;
//        }
//    }
    
     /**
     * Devuelve el id del presupuesto de la tabla detalle
     *
     * @param <int> $id
     * @return <int> $fila[ 'PTO_ID' ]
     * @test
     *
     */
    public function getDetallePresupuesto( $id ) {
        $this->DBConn->consulta( "SELECT *
                                FROM detalle_presupuesto
                                WHERE DPR_PTO_ID = $id" );

        if ( $this->DBConn->filasAfectadas() != -1){
            $fila = $this->DBConn->extraer_registro();
            return $fila[ 'PTO_ID' ];
        } else {
            return false;
        }

    }

     /**
     * Setea un bloque con la informacion de los detalle de los presupuestos
     *
     * @param <panel> $plantillaCON
     * @param <block> $block
     * @test
     */
    public function setBlockDetallePresupuesto( $plantillaCON , $block ) {
        $hBlock = $plantillaCON->setBlock( $block );
        $PTO_ID = $_GET["PTO_ID"];
        $this->DBConn->consulta( "SELECT *
                                FROM detalle_presupuesto
                                WHERE DPR_PTO_ID = $PTO_ID
                                AND DPR_STATUS = 1" );
        

        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }

        if ($ids != null){
            foreach ($ids as $valor) {
                if ($valor['DPR_ALM_ID'] != ""){
                    $ALM_ID = $valor['DPR_ALM_ID'];
                    $this->DBConn->consulta(" SELECT *
                                            FROM aluminio
                                            WHERE ALM_ID = $ALM_ID
                                            AND ALM_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID'] = "ALM-".$filaNombre['ALM_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['ALM_NOMBRE'];
                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_CRT_ID'] != ""){
                    $CRT_ID = $valor['DPR_CRT_ID'];
                    $this->DBConn->consulta(" SELECT *
                                            FROM cristal
                                            WHERE CRT_ID = $CRT_ID
                                            AND CRT_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID'] = "CRT-".$filaNombre['CRT_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['CRT_NOMBRE'];
                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_ACC_ID'] != ""){
                    $ACC_ID = $valor['DPR_ACC_ID'];
                    $this->DBConn->consulta(" SELECT *
                                            FROM accesorio
                                            WHERE ACC_ID = $ACC_ID
                                            AND ACC_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID'] = "ACC-".$filaNombre['ACC_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['ACC_NOMBRE'];
                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_PTA_ID'] != ""){
                    $PTA_ID = $valor['DPR_PTA_ID'];
                    $this->DBConn->consulta(" SELECT *
                                            FROM puerta
                                            WHERE PTA_ID = $PTA_ID
                                            AND PTA_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID'] = "PTA-".$filaNombre['PTA_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['PTA_NOMBRE'];
                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_VTA_ID'] != ""){
                    $VTA_ID = $valor['DPR_VTA_ID'];
                    $this->DBConn->consulta(" SELECT *
                                            FROM ventana
                                            WHERE VTA_ID = $VTA_ID
                                            AND VTA_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID'] = "VTA-".$filaNombre['VTA_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['VTA_NOMBRE'];
                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_SIN_ID'] != ""){
                    $SIN_ID = $valor['DPR_SIN_ID'];
                    $this->DBConn->consulta(" SELECT *
                                            FROM suministro_instalacion
                                            WHERE SIN_ID = $SIN_ID
                                            AND SIN_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID'] = "SIN-".$filaNombre['SIN_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['SIN_NOMBRE'];
                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

            }
        } else {
            return "false";
        }
      
    }

     /**
     * Setea un bloque con la informacion de los detalle de los presupuestos
     *
     * @param <panel> $plantillaCON
     * @param <block> $block
     * @test
     */
    public function getDetalle( $tipo , $id ) {

        if ($tipo == "ALM"){
            $this->DBConn->consulta(" SELECT *
                                    FROM aluminio
                                    WHERE ALM_ID = $id
                                    AND ALM_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0){
                $fila = $this->DBConn->extraer_registro();
                $aluminio = new Aluminio($fila['ALM_NOMBRE'], $fila['ALM_TIPO'],
                        $fila['ALM_COLOR'], $fila['ALM_TIPO_COLOR'],
                        $fila['ALM_ANCHO'], $fila['ALM_PRECIO'], $fila['ALM_CANTIDAD']);
                return $aluminio;
            }
        }

        if ($tipo == "CRT"){
            $this->DBConn->consulta(" SELECT *
                                    FROM cristal
                                    WHERE CRT_ID = $id
                                    AND CRT_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0){
                $fila = $this->DBConn->extraer_registro();
                $cristal = new Cristal($fila['CRT_NOMBRE'], $fila['CRT_COLOR'],
                        $fila['CRT_ESPESOR'], $fila['CRT_ANCHO'], $fila['CRT_ALTO'],
                        $fila['CRT_PRECIO'], $fila['CRT_CANTIDAD']);
                return $cristal;
            }
        }

        if ($tipo == "ACC"){
            $this->DBConn->consulta(" SELECT *
                                    FROM accesorio
                                    WHERE ACC_ID = $id
                                    AND ACC_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0){
                $fila = $this->DBConn->extraer_registro();
                $accesorio = new Accesorio($fila['ACC_NOMBRE'], $fila['ACC_PRECIO'], $fila['ACC_CANTIDAD']);
                return $accesorio;
            }
        }

        if ($tipo == "PTA"){
            $this->DBConn->consulta(" SELECT *
                                    FROM puerta
                                    WHERE PTA_ID = $id
                                    AND PTA_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0){
                $fila = $this->DBConn->extraer_registro();
                $puerta = new Puerta($fila['PTA_NOMBRE'], $fila['PTA_COLOR'],
                        $fila['PTA_CRISTAL'], $fila['PTA_CRISTAL_COLOR'], $fila['PTA_ESPESOR'],
                        $fila['PTA_ANCHO'], $fila['PTA_ALTO'], $fila['PTA_PRECIO_ANCHO'],
                        $fila['PTA_PRECIO_ALTO'], $fila['PTA_PRECIO_ACCESORIO'], $fila['PTA_PRECIO_CRISTAL'],
                        $fila['PTA_CANTIDAD'], $fila['PTA_PRECIO_ESMERILADO'], $fila['PTA_PRECIO_INSTALACION'],
                        $fila['PTA_TIPO']);
                return $puerta;
            }
        }

        if ($tipo == "VTA"){
            $this->DBConn->consulta(" SELECT *
                                    FROM ventana
                                    WHERE VTA_ID = $id
                                    AND VTA_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0){
                $fila = $this->DBConn->extraer_registro();
                $ventana = new Ventana($fila['VTA_NOMBRE'], $fila['VTA_COLOR'],
                        $fila['VTA_CRISTAL'], $fila['VTA_CRISTAL_COLOR'], $fila['VTA_ESPESOR'],
                        $fila['VTA_ANCHO'], $fila['VTA_ALTO'], $fila['VTA_PRECIO_ANCHO'],
                        $fila['VTA_PRECIO_ALTO'], $fila['VTA_PRECIO_ACCESORIO'], $fila['VTA_PRECIO_CRISTAL'],
                        $fila['VTA_CANTIDAD'], $fila['VTA_PRECIO_ESMERILADO'], $fila['VTA_PRECIO_INSTALACION']);
                return $ventana;
            }
        }

        if ($tipo == "SIN"){
            $this->DBConn->consulta(" SELECT *
                                    FROM suministro_instalacion
                                    WHERE SIN_ID = $id
                                    AND SIN_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0){
                $fila = $this->DBConn->extraer_registro();
                $instalacion = new Instalacion($fila['SIN_NOMBRE'], $fila['SIN_PRECIO'],
                        $fila['SIN_TIPO'], $fila['SIN_CANTIDAD']);
                return $instalacion;
            }
        }
    }

     /**
     * Elimina un detalle
     *
     * @param <int> $id
     * @param <string> $tipo
     * @return <bool> true
     * @return <bool> false
     * @test
     *
     */
    function eliminarDetalle( $tipo , $id ){

        switch ( $tipo ){
                case "ACC":
                    $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_ACC_ID = $id" );

                    if ( $this->DBConn->filasAfectadas() != -1){
                        return true;
                    } else {
                        return false;
                    }
                    break;

                  case "ALM":
                    $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_ALM_ID = $id" );

                    if ( $this->DBConn->filasAfectadas() != -1){
                        return true;
                    } else {
                        return false;
                    }
                    break;

                case "CRT":
                    $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_CRT_ID = $id" );

                    if ( $this->DBConn->filasAfectadas() != -1){
                        return true;
                    } else {
                        return false;
                    }
                    break;

                case "PTA":
                    $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_PTA_ID = $id" );

                    if ( $this->DBConn->filasAfectadas() != -1){
                        return true;
                    } else {
                        return false;
                    }
                     break;

                case "VTA":
                    $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_VTA_ID = $id" );

                    if ( $this->DBConn->filasAfectadas() != -1){
                        return true;
                    } else {
                        return false;
                    }
                    break;

                case "SIN":
                    $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_SIN_ID = $id" );

                    if ( $this->DBConn->filasAfectadas() != -1){
                        return true;
                    } else {
                        return false;
                    }
                   break;
            }
    }

    /**
    * Eliminacion de un presupuesto en base de datos
    *
    * @return <bool> true
    * @return <bool> false
    */
    function eliminarPresupuesto( $PTO_ID ){
        $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                SET DPR_STATUS = 0
                                WHERE DPR_PTO_ID = $PTO_ID" );

        if ( $this->DBConn->filasAfectadas() != -1){
            return true;
        } else {
            return false;
        }

    }

    /**
    * Actualiza de un presupuesto en base de datos
    *
    * @return <bool> true
    * @return <bool> false
    */
    public function presupuestoUpdate( $PTO_ID, $PTO_FECHA_ENTREGA, $PTO_FORMA_PAGO ){
        $this->DBConn->consulta( "UPDATE PRESUPUESTO
                            SET PTO_FECHA_ENTREGA = '$PTO_FECHA_ENTREGA',
                                PTO_FORMA_PAGO= '$PTO_FORMA_PAGO'
                            WHERE PTO_ID = $PTO_ID" );

       if ( $this->DBConn->filasAfectadas() != -1){
            return true;
        } else {
            return false;
        }
    }

    /**
    * Devuelve el dia de la fecha de creacion, dado el id de un presupuesto
    *
    * @return <string> $fila['DAY(PTO_FECHA_CREACION)']
    * @return <bool> false
    */
    public function consultaDia( $PTO_ID ){
        $this->DBConn->consulta( "SELECT DAY(PTO_FECHA_CREACION)
                                  FROM PRESUPUESTO
                                  WHERE PTO_ID= $PTO_ID " );

        if ( $this->DBConn->filasAfectadas() != -1){
           $fila = $this->DBConn->extraer_registro();
            return $fila['DAY(PTO_FECHA_CREACION)'];
        } else {
            return false;
        }

    }

    /**
    * Devuelve el ano de la fecha de creacion, dado el id de un presupuesto
    *
    * @return <string> $fila['DAY(PTO_FECHA_CREACION)']
    * @return <bool> false
    */
     public function consultaAno( $PTO_ID ){
        $this->DBConn->consulta( "SELECT YEAR(PTO_FECHA_CREACION)
                                  FROM PRESUPUESTO
                                  WHERE PTO_ID= $PTO_ID " );

        if ( $this->DBConn->filasAfectadas() != -1){
            $fila = $this->DBConn->extraer_registro();
            return $fila['YEAR(PTO_FECHA_CREACION)'];
        } else {
            return false;
        }

    }

    /**
    * Devuelve los datos de los accesorios dado el id del presupuesto
    *
    * @param <int> $PTO_ID
    * @return <Array> $fila
    * @return <bool> false
    */
    public function consultaAccesorio( $PTO_ID ){
        $this->DBConn->consulta( "SELECT DISTINCT (acc_id), acc_nombre, acc_precio,
                                acc_cantidad
                                FROM accesorio, detalle_presupuesto, presupuesto
                                WHERE $PTO_ID = dpr_pto_id
                                AND dpr_acc_id = acc_id" );

        $i = 0;
        $ids = null;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ){
           $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
    * Devuelve los datos de los aluminio dado el id del presupuesto
    *
    * @param <int> $PTO_ID
    * @return <Array> $fila
    * @return <bool> false
    */
    public function consultaAluminios( $PTO_ID ){
        $this->DBConn->consulta( "SELECT DISTINCT (alm_id), alm_nombre, alm_tipo, alm_color,
            alm_tipo_color, alm_ancho, alm_precio, alm_cantidad
                            FROM aluminio, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_alm_id = alm_id" );

        $i = 0;
        $ids = null;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ){
           $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
    * Devuelve los datos de los cristal dado el id del presupuesto
    *
    * @param <int> $PTO_ID
    * @return <Array> $fila
    * @return <bool> false
    */
    public function consultaCristales( $PTO_ID ){
        $this->DBConn->consulta( "SELECT DISTINCT (crt_id), crt_nombre, crt_color,
                            crt_espesor, crt_ancho, crt_alto,
                            crt_precio, crt_cantidad
                            FROM cristal, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_crt_id = crt_id" );

        $i = 0;
        $ids = null;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ){
           $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
    * Devuelve los datos de los puerta dado el id del presupuesto
    *
    * @param <int> $PTO_ID
    * @return <Array> $fila
    * @return <bool> false
    */
    public function consultaPuertas( $PTO_ID ){
        $this->DBConn->consulta( "SELECT DISTINCT (pta_id), pta_nombre, pta_color,
                                pta_cristal, pta_cristal_color, pta_espesor,
                                pta_ancho, pta_alto, pta_precio_accesorio,
                                pta_precio_cristal, pta_precio_esmerilado,
                                pta_precio_instalacion, pta_cantidad, pta_tipo
                            FROM puerta, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_pta_id = pta_id" );

        $i = 0;
        $ids = null;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ){
           $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
    * Devuelve los datos de los ventanas dado el id del presupuesto
    *
    * @param <int> $PTO_ID
    * @return <Array> $fila
    * @return <bool> false
    */
    public function consultaVentanas( $PTO_ID ){
        $this->DBConn->consulta( "SELECT DISTINCT (vta_id), vta_nombre, vta_color,
                                vta_cristal, vta_cristal_color, vta_espesor,
                                vta_ancho, vta_alto, vta_precio_accesorio,
                                vta_precio_cristal, vta_precio_esmerilado,
                                vta_precio_instalacion, vta_cantidad
                            FROM ventana, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_vta_id = vta_id" );

        $i = 0;
        $ids = null;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ){
           $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
    * Devuelve los datos de UN cliente dado el id
    *
    * @param <int> $CLT_ID
    * @return <Array> $fila
    * @return <bool> false
    */
    public function consultaCliente( $CLT_ID ){
        extract( $_GET );
        $this->DBConn->consulta( "SELECT CLT_RAZON_SOCIAL,
                                CLT_NOMBRE, CLT_APELLIDO, CLT_EMAIL,
                                CLT_TELEFONO, CLT_DIRECCION
                                FROM CLIENTE
                                WHERE CLT_ID= $CLT_ID
                                AND CLT_STATUS = 1" );

       if ( $this->DBConn->filasAfectadas() != -1){
            $fila = $this->DBConn->extraer_registro();
            return $fila;
        } else {
            return false;
        }

    }

}

?>